move 'block' from Functional to Expressive