+1 for optionals, even though I don't understand how their allocation works