makes_derivatives supports block syntax and callback methods