algorithmic reflection