Вместо того, чтобы передавать вещи типа T, вы можете передавать вещи типа Option [T], оборачивая все допустимые вещи типа T, например
val thing = 1
val thingOption = Some(thing)
, и сохраняя все недопустимые данные как Nones.Примерно так:
val thingOption = None
Затем, если вы хотите принять решение на основе значения thingOption, вы можете сделать это следующим образом
thingOption match {
case None => // Whatever you want to do with defaults
case Some(x) => // Whatever you want to do with 'thing' if it isn't a default
}