refactor
use optional_group(e) rather than group(e, optional: true)

feels a little clearer.