Allocation Free Option Types in Scala