Now that you mentioned it, throwing exception seems to be strict. `GuardClauseException` will be thrown even if guard clause exists but dynamic type's member is called. Any method of a dynamic type would have to return an anonymous value.