pub fn ap<'a, A, B, MA, MB, MF>(f: MF, a: MA) -> MBwhere A: 'a, B: 'a, MA: Bind<'a, A, Target<B> = MB> + Clone + 'a, MB: Pure<B>, MF: Bind<'a, ApplyFn<'a, A, B>, Target<B> = MB>,