Functional programming in Python: implementation of missing features to enjoy FP