Expense proposal: Add `with` support for modifying `Optional` values

The context for this is https://github.com/dhall-lang/dhall-lang/issues/1141 (and, to a lesser extent, https://github.com/dhall-lang/dhall-lang/issues/979)

I would like to propose a $300 bounty for adding with keyword support for “digging into” Optional values using ? as a path component. For example, this would enable something like:

Some { x = 1 } with ?.y = 2

… which would produce a result of:

Some { x = 1, y = 2 }

The reason why is that Optional values are one of the most common reasons for users being unable to use the with keyword on real-world configuration files.

I would help mentor anybody who worked on drafting this change to the language standard.

According to our expense guidelines I need to formally document the following:

  • What purpose is the expense for?

    To add with keyword support for transforming Optional values

  • Is this a one-time or recurring expense

    One-time

  • What is the amount you wish to expense?

    $300

For reference, our current project balance is $4,376.12.