First pass at recursive depsolving