--- a/net/minecraft/world/entity/ai/Brain.java
+++ b/net/minecraft/world/entity/ai/Brain.java
@@ -196,14 +196,14 @@
         if (optional == null) {
             throw new IllegalStateException("Unregistered memory fetched: " + p_21953_);
         } else {
-            return optional.map(ExpirableValue::getValue);
+            return (Optional<U>)optional.map(ExpirableValue::getValue);
         }
     }
 
     @Nullable
     public <U> Optional<U> getMemoryInternal(MemoryModuleType<U> p_259344_) {
         Optional<? extends ExpirableValue<?>> optional = this.memories.get(p_259344_);
-        return optional == null ? null : optional.map(ExpirableValue::getValue);
+        return optional == null ? null : (Optional<U>)optional.map(ExpirableValue::getValue);
     }
 
     public <U> long getTimeUntilExpiry(MemoryModuleType<U> p_147342_) {
@@ -497,7 +497,7 @@
         private final Optional<? extends ExpirableValue<U>> value;
 
         static <U> Brain.MemoryValue<U> createUnchecked(MemoryModuleType<U> p_22060_, Optional<? extends ExpirableValue<?>> p_22061_) {
-            return new Brain.MemoryValue<>(p_22060_, p_22061_);
+            return new Brain.MemoryValue<U>(p_22060_, (Optional<? extends ExpirableValue<U>>)p_22061_);
         }
 
         MemoryValue(MemoryModuleType<U> p_22033_, Optional<? extends ExpirableValue<U>> p_22034_) {
