On the design of a gradual dependently typed language for programming