pass through context in a consistent way even for undefined values