Programming with ornaments. (2016)