What happens if function() returns null? Should this be: new Optional.fromNullable(function(_value)), or should we document that function must not return null?