functional programming - What is dependent typing? - Stack Overflow