WIP: apply-interval to get rid of explicit apply-at recursion nonsense