started tensors. functors as a superclass of bifunctor