diag now works on a return type instead of a telescope