visit does not support default because it needs something specific to bind while visiting. Instead you can write a pattern that matches truly everything. For example:
visit(sometree) {
case node x : handleAllTreeLikeThings(x);
case str y(value x, value y) : handleAllBinaryTrees(y, x, y);
case value x : handleAllValuesWhatsoever(x);
}