var list = new List<Maybe<T>> { Maybe.None, new T(value), new T(value2), Maybe.None };
//given a method 'DoTheThing -> U'
var res = list.FilterMap( (T) x => x.DoTheThing() ); //cn -- filter select?
Assert.IsType<IEnumerable<U>>(res);
Assert.Equal(2, res.Count());