Combinatory Forms for Equational Programming: Instances, Unification and Narrowing