+ * @param override A functor to decide whether the visibility specified by the member should be
+ * overridden by some external factor; if the returned optional value is given, it will be used
+ * to override whatever visibility setting the member has.