Pass by reference, add single bracket convenience functions (#3927)
Implement binary operators on functions (#3927)