Using Lazy is not that useful sometimes and having something like `class Lazy1 f where defer1 :: forall a. (Unit -> f a) -> f a` would be great