Quick and dirty way to force inference on a specific component property with typescript.
interface Props<T, D extends T> {
  ground: T;                  // Value of T is inferred here
  collection: D[];            // Value of T is used here but is of generic D
  function: (arg: D) => void; // And here
}
// Here we use the GroundedProps interface in our component