Attempt to make this work with dynamic types.