Code as Data: Structuring business rules in F#