more functional programming improvements, options handling, exploring instability of implicit methods.