optionalApply, optionalUnapply 메서드 다시 추가, OptionableShape 추가.