Another alternative would be to bring back var
in parameters:
func appendDisplayList(to frame: inout Frame) // short for `inout var Frame`
func render(_ frame: inout let Frame) // override the implied `var`
func releaseResources(for frame: in var Frame) // no ABI effect; `frame` is mutable within function body