At tricky part about functors would be translating types in the interfaces, but we probably could manage to do it.