adding F# implementationof monoid