bind(e.getValue(), value, variables, bound);
tail.remove(e.getKey());
}
}
} else if (from instanceof ListWithTail && to instanceof List) {
final ListWithTail fromLWT = (ListWithTail) from;
final List<Object> toList = (List<Object>) to;
if (toList.size() < fromLWT.list.size())
throw new BindException("List must be at least size of head of LWT");
if (toList.isEmpty())
throw new BindException("Can't bind list with tail to empty list");