More functional approach to handling optional user